package com.zhxt.system.mapper;

import com.zhxt.system.domain.ZhxtItemsStep;
import com.zhxt.system.domain.zhxtvo.*;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 指挥系统 数据层
 */
public interface ZhxtMapper {
    /**
     * 获取最后更新时间
     */
    public String getLastTime();

    /**
     * 获取报表一级数据
     */
    public List<ZhxtZItems> getZhxtYItems(@Param("tabcode") String tabcode, @Param("sxdate") String sxdate,@Param("yearStr") String yearStr);

    /**
     * 获取统计指标及排名
     */
    public List<ZhxtZTj> getZhxtZTj(@Param("tabcode") String tabcode, @Param("sxdate") String sxdate,@Param("yearStr") String yearStr);

    /**
     * 获取一个统计指标及排名
     */
    public List<ZhxtZTj> getZhxtZoTj(@Param("tabcode") String tabcode, @Param("sxdate") String sxdate, @Param("itemcode") String itemcode,@Param("yearStr") String yearStr);

    /**
     * 获取一个统计指标及排名2
     */
    public List<ZhxtZTj> getZhxtZoTjpm(@Param("tabcode") String tabcode, @Param("sxdate") String sxdate, @Param("itemcode") String itemcode,@Param("yearStr") String yearStr);

    /**
     * 获取机构指标明细
     */
    public List<ZhxtZItems> getZhxtZzItems(@Param("tabcode") String tabcode, @Param("sxdate") String sxdate, @Param("tjcode") String tjcode,@Param("yearStr") String yearStr);

    /**
     * 获取指标平均值
     */
    public List<ZhxtZItems> getAvgItems(@Param("tabcode") String tabcode, @Param("sxdate") String sxdate,@Param("yearStr") String yearStr);

    /**
     * 获取三级指标数据
     */
    public List<ZhxtZItems> getMItemsList(@Param("tabcode") String tabcode, @Param("sxdate") String sxdate,@Param("tjcode") String tjcode,@Param("yearStr") String yearStr);

    public List<ZhxtZItems> getQnMItemsList(@Param("tabcode") String tabcode, @Param("sxdate") String sxdate,@Param("tjcode") String tjcode,@Param("yearStr") String yearStr);

    /**
     * 总览T指标
     */
    public List<ZhxtXxt> getTListOne(@Param("tabcode") String tabcode,@Param("sxdate") String sxdate,@Param("itemcode") String itemcode,@Param("yearStr") String yearStr);
    //总览指标健康管理+投产
    public List<ZhxtXxt> getTListZlgc(@Param("tabcode") String tabcode,@Param("sxdate") String sxdate,@Param("yearStr") String yearStr);

    /**
     * 获取同步流水
     */
    public List<ZhxtWater> getTbWater();

    /**
     * 获取指标列表
     */
    public List<ZhxtZItems> getZbItemsList(@Param("tabcode") String tabcode,@Param("itemtype") String itemtype);

    /**
     * 获取一个指标数据-每月最后一天
     */
    public List<ZhxtMonthItem> getLastdayValue(@Param("yearStr") String yearStr, @Param("itemcode") String itemcode);

    /**
     * 新经营成本一级指标
     */
    public List<ZhxtZItems> getJycbReport(@Param("tjcode") String tjcode,@Param("sxdate") String sxdate);

    /**
     * 获取一个指标数据-每月最后一天
     */
    public List<ZhxtMonthItem> getLastdayValueTjcode(@Param("tjcode") String tjcode,@Param("yearStr") String yearStr, @Param("itemcode") String itemcode);

    /**
     * 获取指标区间定义
     */
    public List<ZhxtItemsStep> getItemStep(@Param("tabcode") String tabcode, @Param("tjcode") String tjcode);

    /**
     * 获取指标数据-每月最后一天
     */
    public List<ZhxtMonthItem> getLastdayValueTjcodeJy(@Param("tjcode") String tjcode,@Param("yearStr") String yearStr);

}
